package com.agile.leetcode.array.maxsumofsubarray;

/**
 * 最大子数组的和
 *
 * @Author KD
 * @Date 2021/1/29 10:32
 */
public class MaxSumOfSubArray {
    public static void main(String[] args) {
        int[] array = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
        MaxSumOfSubArray maxSumOfSubArray = new MaxSumOfSubArray();
        int maxSumOfSubArray1 = maxSumOfSubArray.getMaxSumOfSubArray(array);
        System.out.println(maxSumOfSubArray1);
    }

    public int getMaxSumOfSubArray(int[] array) {
        int current_num = Integer.MIN_VALUE + 10;
        int result = Integer.MIN_VALUE + 10;
        for (int i : array) {
            current_num = Math.max(i, i + current_num);
            result = Math.max(result, current_num);
        }
        return result;
    }
}
